<!DOCTYPE html>
<html lang="zh-cn">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>javascript 阶段</title>
</head>
<body>
    <h3>parseFloat 和  parseInt </h3>

    <script>
        // 100 , 101, 6  整数
        // 99.9999 , 12.11 , 0.5   浮点数(小数点)


        // 1)  parseFloat
        // 参数：  字符串
        // 返回值： 浮点数（数字）
        // 作用：  把字符串解析成 浮点数
        var str = "99.99$";
        var price =  parseFloat(str);
        console.log(price); // 99.99
        console.log(typeof price);  // number

        console.log(parseFloat("xxx100"));// NaN
        console.log(parseFloat("100xxx"));// 100
        console.log(parseFloat("100.11xxx"));// 100.11
        console.log(parseFloat(" 100.11xxx "));//100.11
        console.log(parseFloat(" 100yy.11xxx "));// 100

        // 总结：
            // parseFloat 方法，可以把一个数字开头的字符串解析成浮点数
            // 如果字符串不是数字字符开头，解析成非数值（NaN）
    
        console.log("--------");

        // 2)  parseInt
        // 另外一个含义：强制转换为整型
        // 参数：1.字符串   2.基数（可选） 2 ~ 26
        // 返回值：整数或 NaN
        // 作用：把字符串解析为整数
        var width = "100px";
        var v1 = parseInt(width);
        console.log(v1);// 100
        console.log(typeof v1);// number

        console.log(parseInt("px100"));// NaN
        console.log(parseInt("100xxx"));// 100
        console.log(parseInt("100.66xxx"));// 100
        console.log(parseInt("100yy66xxx"));// 100
        console.log(parseInt(" 98yy66xxx  "));// 98


        // 总结：
            // parseInt 方法， 可以把以数字字符开头的字符串解析成整数
            // 如果字符串不是以数字字符开头，解析的结果就是NaN

       console.log("--------");
       // 备注：
       //  parseInt(string , radix) // 参数1： 字符串  ， 参数2： 可选参数（不需要深究）
       console.log(parseInt("13", 1));  // NaN
       console.log(parseInt("13", 2));  // 1
       console.log(parseInt("13", 14)); // 17
       console.log(parseInt("a", 16));  //  10
       console.log(parseInt("b", 16));  //  11
       console.log(parseInt("f", 16));  //  15

        // parseInt的第一个参数 ： 字符串
        // parseInt的第二个参数 ： 基数
        //  例如 ： parseInt("f", 16)
        //  意思把 16进制的  "f"  转成 10进制的数字
        //  作用：把指定进制的字符串，解析成10进制的数字


        // 以下为十六进制的数字
        // 1-9 10 11 12 13  14 15 
        // 1-9 a   b  c  d  e  f 





    </script>
</body>
</html>